<!--#include file="appInit.aspx" -->
<script runat="server">
  protected void Page_Load( object sender,EventArgs e )
  {
      try{
          List<object> list = WebApp.GetView( Request.QueryString.ToString() );
          Response.Write( ToJson(Request.QueryString["op"],list) );
      }catch( Exception ex ){
          Response.Write( ErrMsg(ex.Message) );
      }
  }


  private string ToJson( string handler,List<object> list )
  {
      if( 0==list.Count ){ return ErrMsg( "没有找到请求的资源" );  }
      
      switch( handler )
      {
          case "AddCategory" :
              return 0<((int)list[0]) ? Msg("分类添加成功") : ErrMsg("分类添加失败");
          case "RemoveCategories" :
              return 0<((int)list[0]) ? Msg("分类删除成功") : ErrMsg("分类删除失败");
          case "ModifyCategory" :
              return 0<((int)list[0]) ? Msg("分类修改成功") : ErrMsg("分类修改失败");
          case "MoveCategories" :
              return 0<((int)list[0]) ? Msg("分类移动成功") : ErrMsg("分类移动失败");

          case "AddArticle" :
              return 0<((int)list[0]) ? Msg("文章添加成功") : ErrMsg("文章添加失败");
          case "RemoveArticles" :
              return 0<((int)list[0]) ? Msg("文章删除成功") : ErrMsg("文章删除失败");
          case "ModifyArticle" :
              return 0<((int)list[0]) ? Msg("文章修改成功") : ErrMsg("文章修改失败");
          case "MoveArticles" :
              return 0<((int)list[0]) ? Msg("文章移动成功") : ErrMsg("文章移动失败");

          case "AddComment" :
              return 0<((int)list[0]) ? Msg("评论添加成功") : ErrMsg("评论添加失败");
          case "RemoveComments" :
              return 0<((int)list[0]) ? Msg("评论删除成功") : ErrMsg("评论删除失败");
          case "ModifyComment" :
              return 0<((int)list[0]) ? Msg("评论修改成功") : ErrMsg("评论修改失败");
          case "MoveComments" :
              return 0<((int)list[0]) ? Msg("评论移动成功") : ErrMsg("评论移动失败");

          case "GetCategoryDetails" :
                return My.Convert.ToJson( (DataRow)list[0] );
          case "GetCategoryParent" :
                return My.Convert.ToJson( (DataRow)list[0] );
          case "GetCategoryAncestors" :
                return My.Convert.ToJson( (DataTable)list[0] );
          case "GetCategoryChildren" :
                return My.Convert.ToJson( (DataTable)list[0] );
          case "GetCategoriesList" :
                 return My.Convert.ToJson( (DataRow[])list[0] );

          case "GetArticleDetails" :
                return My.Convert.ToJson( (DataRow)list[0] );
          case "GetArticlesList" :
                return My.Convert.ToJson( (RecordSet)list[0] );

          case "GetCommentDetails" :
                return My.Convert.ToJson( (DataRow)list[0] );
          case "GetCommentsList" :
                return My.Convert.ToJson( (RecordSet)list[0] );
      }
      return ErrMsg( "资源已找到,但是没有找到与请求对应的返回格式操作" );
  }

  // error
  private string ErrMsg( string s )
  {
      return string.Format( "{{'error':'{0}'}}",s );
  }

  // msg
  private string Msg( string s )
  {
      return string.Format( "{{'msg':'{0}'}}",s );
  }
</script>